<!DOCTYPE html>
<html lang="en">
{% load static %}

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>SmartInfra</title>
    <link rel="shortcut icon" href="{% static 'img/smartinfra-logo.jpeg' %}"/>
    <!-- Custom fonts for this template -->
    <link href="{% static 'vendor/fontawesome-free/css/all.min.css' %}" rel="stylesheet" type="text/css">
    <link
        href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
        rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="{% static 'css/sb-admin-2.min.css' %}" rel="stylesheet">

    <!-- Custom styles for this page -->
    <link href="{% static 'vendor/datatables/dataTables.bootstrap4.min.css' %}" rel="stylesheet">


</head>

<body id="page-top">

    <!-- Page Wrapper -->
    <div id="wrapper">

        <!-- Sidebar -->
        <ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">

            <!-- Sidebar - Brand -->
            <a class="sidebar-brand d-flex align-items-center justify-content-center" href="/index">
                <div class="sidebar-brand-icon rotate-n-15">
                    <img src="{% static 'img/sqlpara_logo.1f1186910ff7.jpg' %}" alt="Brand Icon" style="width: 30px; height: 30px;">
                </div>
                <div class="sidebar-brand-text mx-3" style="text-transform: none;">SmartInfra</div>
            </a>

            <!-- Divider -->
            <hr class="sidebar-divider my-0">

            <!-- Nav Item - Dashboard -->
            <li class="nav-item {% if request.resolver_match.view_name == 'salt:index' %}active{% endif %}">
                <a class="nav-link" href="/index">
                    <i class="fas fa-fw fa-tachometer-alt"></i>
                    <span>首页</span></a>
            </li>

            <!-- Divider -->
            <hr class="sidebar-divider">

            <!-- Heading -->
            <div class="sidebar-heading">
                Targets
            </div>

            <!-- Nav Item - Pages Collapse Menu -->
            <li class="nav-item {% if request.resolver_match.view_name == 'salt:hosts' %}active{% endif %}">
                <a class="nav-link" href="/hosts">
                    <i class="fas fa-fw fa-th"></i>
                    <span>主机管理</span></a>
            </li>
            <li class="nav-item {% if request.resolver_match.view_name == 'salt:host_group' %}active{% endif %}">
                <a class="nav-link" href="/host_group">
                    <i class="fas fa-fw fa-th-list"></i>
                    <span>主机分组</span></a>
            </li>
<!--            <li class="nav-item {% if request.resolver_match.view_name == 'salt:buttons' %}active{% endif %}">-->
<!--                <a class="nav-link" href="/buttons">-->
<!--                    <i class="fas fa-fw fa-download"></i>-->
<!--                    <span>数据导出</span></a>-->
<!--            </li>-->

            <!-- Divider -->
            <hr class="sidebar-divider">

            <!-- Heading -->
            <div class="sidebar-heading">
                execute
            </div>

            <!-- Nav Item - Utilities Collapse Menu -->
            <li class="nav-item">
                <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
                    aria-expanded="true" aria-controls="collapseUtilities">
                    <i class="fas fa-fw fa-cogs"></i>
                    <span>执行操作</span>
                </a>
                <div id="collapseUtilities" class="collapse {% if request.resolver_match.view_name == 'salt:create_shell_task' %}show{% elif request.resolver_match.view_name == 'salt:list_tasks' %}show{% elif request.resolver_match.view_name == 'salt:qqq' %}show{% endif %}"
                    data-parent="#accordionSidebar">
                    <div class="bg-white py-2 collapse-inner rounded">
                        <a class="collapse-item {% if request.resolver_match.view_name == 'salt:list_tasks' %}active{% endif %}" href="/list_tasks">已创建任务清单</a>
                        <a class="collapse-item {% if request.resolver_match.view_name == 'salt:create_shell_task' %}active{% endif %}" href="/create_shell_task">创建任务 </a>
                    </div>
                </div>
            </li>

            <!-- Nav Item - Charts -->
            <li class="nav-item {% if request.resolver_match.view_name == 'salt:shell_template' or request.resolver_match.view_name == 'salt:list_sub_st' %}active{% endif %}">
                <a class="nav-link" href="/shell_template">
                    <i class="fas fa-fw fa-file"></i>
                    <span>执行模板</span></a>
            </li>
            <li class="nav-item {% if request.resolver_match.view_name == 'salt:upload_transfer_file' %}active{% endif %}">
                <a class="nav-link" href="/upload_transfer_file">
                    <i class="fas fa-fw fa-reply-all"></i>
                    <span>上传分发文件</span></a>
            </li>
            <!-- Divider -->
            {% if request.user.is_superuser %}
            <hr class="sidebar-divider">
            {% endif %}

            <!-- Heading -->
            {% if request.user.is_superuser %}
            <div class="sidebar-heading">
                Admin
            </div>
             {% endif %}

            <!-- Nav Item - Tables -->
            {% if request.user.is_superuser %}
            <li class="nav-item {% if request.resolver_match.view_name == 'salt:salt_masters' %}active{% endif %}">
                <a class="nav-link" href="/salt_masters">
                    <i class="fas fa-fw fa-cog"></i>
                    <span>Salt服务端管理</span></a>
            </li>
            <li class="nav-item {% if request.resolver_match.view_name == 'ansible:an_masters' %}active{% endif %}">
                <a class="nav-link" href="/an_masters">
                    <i class="fas fa-fw fa-cog"></i>
                    <span>Ansible服务端管理</span></a>
            </li>
            {% endif %}
            <!-- Nav Item - Pages Collapse Menu -->
            {% if request.user.is_superuser %}
            <li class="nav-item">
                <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages">
                    <i class="fas fa-fw fa-wrench"></i>
                    <span>系统管理</span>
                </a>
                <div id="collapsePages" class="collapse {% if request.resolver_match.view_name == 'salt:resource_group' %}show{% elif request.resolver_match.view_name == 'salt:ro_setup' %}show{% elif request.resolver_match.view_name == 'salt:users_list' %}show{% elif request.resolver_match.view_name == 'salt:authenticate_mgmt' %}show{% endif %}" data-parent="#accordionSidebar">
                    <div class="bg-white py-2 collapse-inner rounded">
                        <a class="collapse-item {% if request.resolver_match.view_name == 'salt:users_list' %}active{% endif %}" href="/users_list">用户管理</a>
                        <a class="collapse-item {% if request.resolver_match.view_name == 'salt:authenticate_mgmt' %}active{% endif %}" href="/authenticate_mgmt">认证方式</a>
                        <a class="collapse-item {% if request.resolver_match.view_name == 'salt:resource_group' %}active{% endif %}" href="/resource_group">资源组管理</a>
                        <a class="collapse-item {% if request.resolver_match.view_name == 'salt:ro_setup' %}active{% endif %}" href="/ro_setup">只读策略配置</a>
                    </div>
                </div>
            </li>
            {% endif %}

            <!-- Nav Item - Pages Collapse Menu -->
            {% if request.user.is_superuser %}
            <li class="nav-item {% if request.resolver_match.view_name == 'salt:audit_info' %}active{% endif %}">
                <a class="nav-link" href="/audit_info">
                    <i class="fas fa-fw fa-eye"></i>
                    <span>审计日志</span>
                </a>
<!--                <div id="auditPages" class="collapse" aria-labelledby="headingPages" data-parent="#accordionSidebar">-->
<!--                    <div class="bg-white py-2 collapse-inner rounded">-->
<!--                        <a class="collapse-item" href="login.html">通用审计</a>-->
<!--                        <a class="collapse-item" href="register.html">操作审计</a>-->
<!--                        <a class="collapse-item" href="forgot-password.html">下载审计</a>-->
<!--                    </div>-->
<!--                </div>-->
            </li>
            {% endif %}

            <!-- Divider -->
            <hr class="sidebar-divider d-none d-md-block">

            <!-- Sidebar Toggler (Sidebar) -->
            <div class="text-center d-none d-md-inline">
                <button class="rounded-circle border-0" id="sidebarToggle"></button>
            </div>

        </ul>
        <!-- End of Sidebar -->

        <!-- Content Wrapper -->
        <div id="content-wrapper" class="d-flex flex-column">
            <div id="content">
                <!-- Topbar -->
                <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">

                    <!-- Sidebar Toggle (Topbar) -->
                    <form class="form-inline">
                        <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
                            <i class="fa fa-bars"></i>
                        </button>
                    </form>

                    <!-- Topbar Search -->
                    <form
                        class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
                        <div class="input-group">
                            <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
                                aria-label="Search" aria-describedby="basic-addon2">
                            <div class="input-group-append">
                                <button class="btn btn-primary" type="button">
                                    <i class="fas fa-search fa-sm"></i>
                                </button>
                            </div>
                        </div>
                    </form>

                    <!-- Topbar Navbar -->
                    <ul class="navbar-nav ml-auto">

                        <!-- Nav Item - Search Dropdown (Visible Only XS) -->
                        <li class="nav-item dropdown no-arrow d-sm-none">
                            <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <i class="fas fa-search fa-fw"></i>
                            </a>
                            <!-- Dropdown - Messages -->
                            <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
                                aria-labelledby="searchDropdown">
                                <form class="form-inline mr-auto w-100 navbar-search">
                                    <div class="input-group">
                                        <input type="text" class="form-control bg-light border-0 small"
                                            placeholder="Search for..." aria-label="Search"
                                            aria-describedby="basic-addon2">
                                        <div class="input-group-append">
                                            <button class="btn btn-primary" type="button">
                                                <i class="fas fa-search fa-sm"></i>
                                            </button>
                                        </div>
                                    </div>
                                </form>
                            </div>
                        </li>

                        <!-- Nav Item - Alerts -->
                        <li class="nav-item dropdown no-arrow mx-1">
                            <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <i class="fas fa-bell fa-fw"></i>
                                <!-- Counter - Alerts -->
                                <span id="count_task_message" class="badge badge-danger badge-counter"></span>
                            </a>
                            <!-- Dropdown - Alerts -->
                            <div id="dropdownMenu" class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
                                aria-labelledby="alertsDropdown">
                                <h6 class="dropdown-header">
                                    待审批任务列表
                                </h6>

                            </div>
                        </li>

                        <!-- Nav Item - Messages -->
<!--                        <li class="nav-item dropdown no-arrow mx-1">-->
<!--                            <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"-->
<!--                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">-->
<!--                                <i class="fas fa-envelope fa-fw"></i>-->
<!--                                &lt;!&ndash; Counter - Messages &ndash;&gt;-->
<!--                                <span class="badge badge-danger badge-counter">7</span>-->
<!--                            </a>-->
<!--                            &lt;!&ndash; Dropdown - Messages &ndash;&gt;-->
<!--                            <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated&#45;&#45;grow-in"-->
<!--                                aria-labelledby="messagesDropdown">-->
<!--                                <h6 class="dropdown-header">-->
<!--                                    Message Center-->
<!--                                </h6>-->
<!--                                <a class="dropdown-item d-flex align-items-center" href="#">-->
<!--                                    <div class="dropdown-list-image mr-3">-->
<!--                                        <img class="rounded-circle" src="{% static 'img/undraw_profile_1.svg' %}"-->
<!--                                            alt="...">-->
<!--                                        <div class="status-indicator bg-success"></div>-->
<!--                                    </div>-->
<!--                                    <div class="font-weight-bold">-->
<!--                                        <div class="text-truncate">Hi there! I am wondering if you can help me with a-->
<!--                                            problem I've been having.</div>-->
<!--                                        <div class="small text-gray-500">Emily Fowler · 58m</div>-->
<!--                                    </div>-->
<!--                                </a>-->
<!--                                <a class="dropdown-item d-flex align-items-center" href="#">-->
<!--                                    <div class="dropdown-list-image mr-3">-->
<!--                                        <img class="rounded-circle" src="{% static 'img/undraw_profile_2.svg' %}"-->
<!--                                            alt="...">-->
<!--                                        <div class="status-indicator"></div>-->
<!--                                    </div>-->
<!--                                    <div>-->
<!--                                        <div class="text-truncate">I have the photos that you ordered last month, how-->
<!--                                            would you like them sent to you?</div>-->
<!--                                        <div class="small text-gray-500">Jae Chun · 1d</div>-->
<!--                                    </div>-->
<!--                                </a>-->
<!--                                <a class="dropdown-item d-flex align-items-center" href="#">-->
<!--                                    <div class="dropdown-list-image mr-3">-->
<!--                                        <img class="rounded-circle" src="{% static 'img/undraw_profile_3.svg' %}"-->
<!--                                            alt="...">-->
<!--                                        <div class="status-indicator bg-warning"></div>-->
<!--                                    </div>-->
<!--                                    <div>-->
<!--                                        <div class="text-truncate">Last month's report looks great, I am very happy with-->
<!--                                            the progress so far, keep up the good work!</div>-->
<!--                                        <div class="small text-gray-500">Morgan Alvarez · 2d</div>-->
<!--                                    </div>-->
<!--                                </a>-->
<!--                                <a class="dropdown-item d-flex align-items-center" href="#">-->
<!--                                    <div class="dropdown-list-image mr-3">-->
<!--                                        <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"-->
<!--                                            alt="...">-->
<!--                                        <div class="status-indicator bg-success"></div>-->
<!--                                    </div>-->
<!--                                    <div>-->
<!--                                        <div class="text-truncate">Am I a good boy? The reason I ask is because someone-->
<!--                                            told me that people say this to all dogs, even if they aren't good...</div>-->
<!--                                        <div class="small text-gray-500">Chicken the Dog · 2w</div>-->
<!--                                    </div>-->
<!--                                </a>-->
<!--                                <a class="dropdown-item text-center small text-gray-500" href="#">Read More Messages</a>-->
<!--                            </div>-->
<!--                        </li>-->

                        <div class="topbar-divider d-none d-sm-block"></div>

                        <!-- Nav Item - User Information -->
                        <li class="nav-item dropdown no-arrow">
                            <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <span class="mr-2 d-none d-lg-inline text-gray-600 small">{{request.user}}</span>
                                <img class="img-profile rounded-circle"
                                    src="{% static 'img/undraw_profile.svg' %}">
                            </a>
                            <!-- Dropdown - User Information -->
                            <div id="self_mgmt_service" class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
                                aria-labelledby="userDropdown">

                                <a class="dropdown-item" data-toggle="modal" data-target="#logoutModal">
                                    <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
                                    退出
                                </a>
                            </div>
                        </li>

                    </ul>

                </nav>
                <!-- End of Topbar -->
            <!-- Main Content -->
                {% block content %}
                {% endblock content %}
                <!-- /.container-fluid -->
                {% block js %}
                {% endblock %}

            </div>
            <!-- End of Main Content -->

            <!-- Footer -->
            <footer class="sticky-footer bg-white">
                <div class="container my-auto">
                    <div class="copyright text-center my-auto">
                        <span>Copyright &copy; ByteDance-IT-Infra 2024</span>
                    </div>
                </div>
            </footer>
            <!-- End of Footer -->

        </div>
        <!-- End of Content Wrapper -->

    </div>
    <!-- End of Page Wrapper -->

    <!-- Scroll to Top Button-->
    <a class="scroll-to-top rounded" href="#page-top">
        <i class="fas fa-angle-up"></i>
    </a>

    <!-- Logout Modal-->
    <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
        aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">确定退出么?</h5>
                    <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">×</span>
                    </button>
                </div>
                <div class="modal-body">退出后，主机查询，数据展示等所有功能将无法使用.</div>
                <div class="modal-footer">
                    <button class="btn btn-secondary" type="button" data-dismiss="modal">取消</button>
                    <a class="btn btn-primary" onclick="logout_user()">退出</a>
                </div>
            </div>
        </div>
    </div>

    <!-- Bootstrap core JavaScript-->
    <script src="{% static 'vendor/jquery/jquery.min.js' %}"></script>
    <script src="{% static 'vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>

    <!-- Core plugin JavaScript-->
    <script src="{% static 'vendor/jquery-easing/jquery.easing.min.js' %}"></script>

    <!-- Custom scripts for all pages-->
    <script src="{% static 'js/sb-admin-2.min.js' %}"></script>

    <!-- Page level plugins -->
    <script src="{% static 'vendor/datatables/jquery.dataTables.min.js' %}"></script>
    <script src="{% static 'vendor/datatables/dataTables.bootstrap4.min.js' %}"></script>
    <script src="{% static 'vendor/chart.js/Chart.min.js' %}"></script>

    <!-- Page level custom scripts -->
    <script src="{% static 'js/demo/datatables-demo.js' %}"></script>
    <script src="{% static 'js/chart-area-tasks.js' %}"></script>
    <script src="{% static 'js/chart-pie-hosts.js' %}"></script>
    <script src="{% static 'js/chart-area-ops-hosts.js' %}"></script>
    <script src="{% static 'js/chart-bar-users.js' %}"></script>

    <!-- new addition -->
    <script src="{% static 'js/beautify-html.min.js' %}"></script>
    <script src="{% static 'js/purify.min.js' %}"></script>

</body>

</html>

<script>
    // 设置加载图片
    function loading() {
        $("#load").show();
    };

    // 移除加载图片
    function loading_remove() {
        $("#load").hide();
    };

    //logout user
    function logout_user() {
        $.ajax({
            type: "post",
            url: "/logout_user/",
            dataType: "json",
            data: {

            },
            complete: function () {
            },
            success: function (data) {
                if (data.status === 0) {
                    window.location.href = window.location.origin + "/login";
                } else {
                    window.location.href = window.location.origin + "/login";
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            }
        });
    }

    //show messages
    window.addEventListener('load', function () {
        $.ajax({
            type: "post",
            url: "/show_message/",
            dataType: "json",
            data: {

            },
            complete: function () {
            },
            success: function (data) {
                document.getElementById("count_task_message").innerHTML = data.count_task_message+"+";
                // 根据认证模式选择是否显示修改密码功能
                const self_mgmt_service = document.getElementById("self_mgmt_service");
                const forget_passwd = `
                    <a class="dropdown-item" href="#">
                        <i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
                        修改密码
                    </a>
                    <div class="dropdown-divider"></div>
                `;
                if (data.authenticate_tag === 0) {
                    self_mgmt_service.innerHTML = forget_passwd + self_mgmt_service.innerHTML;
                }

                // 动态添加当前用户未审批任务信息
                const dropdownMenu = document.getElementById("dropdownMenu");
                data.task_messages.forEach(item => {
                    for (const [key, value] of Object.entries(item)) {
                        const itemHTML = `
                            <a class="dropdown-item d-flex align-items-center" href="#">
                                <div class="mr-3">
                                    <div class="icon-circle bg-primary">
                                        <i class="fas fa-file-alt text-white"></i>
                                    </div>
                                </div>
                                <div>
                                    <div class="small text-gray-500">${key}</div>
                                    <span class="font-weight-bold">${value}</span>
                                </div>
                            </a>
                        `;
                        dropdownMenu.innerHTML += itemHTML;
                    }

                });
                const showItemHTML = `
                        <a class="dropdown-item text-center small text-gray-500" href="/list_tasks">查看全部</a>
                    `;
                dropdownMenu.innerHTML += showItemHTML;
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            }
        });
    });

</script>